This invention relates to a mobile agent technology for moving a mobile agent to a remote server on a network and forming an instruction in the remote server in a distributed computer environment and, particularly to a system for moving a mobile agent to a remote server.
There has been a mobile agent technology for moving a mobile agent to a remote server on a network to form an instruction in a distributed computer environment (PUPA 7-182174 (U.S. Pat. No. 5,603,031), PUPA7-509799 (International Application Number: PCT/US94/07397, International Publication Number: W097/02219), Fumihiko Nishida, Susumu Fujiwara, et al xe2x80x9cLatest Internet Technology, Nikkei Communication, separate volumexe2x80x9d pp 104-117, Nikkei BP Co.).
Such mobile agent comprises two basic elements which are xe2x80x9cmobile agentxe2x80x9d and xe2x80x9cplacexe2x80x9d. The mobile agent can move around places existing on the network while maintaining its internal state. The mobile agent can contact another agent (a mobile agent or a non-mobile agent) in a place to receive a necessary service. The xe2x80x9cplacexe2x80x9d is a place provided by a server existing on the network where the agent moves to, supports a contact between agents, and absorbs the difference between hardwares and between platforms.
Such mobile agent technology enables a mobile agent to execute jobs which have been so far done by a human being, such as to adjust setting of an internal conference depending on a schedule of employees or a reservation status of a conference room and to obtain desired information distributed on the network.
There is a technology of classifying complex behavior of a mobile agent into basic behavior patterns, providing a template (moderator template) which enables a desired behavior pattern of the mobile agent to be defined, and controlling an activity of issuing a request in each place around which the mobile agent wanders as a predecessor (an activity working in a previous place) and a successor (an activity working in the next place), as disclosed in Japanese patent application 9-92091 filed by the applicant of this application on Apr. 10, 1997 though not laid open at the time when this application is filed.
With this technology, however, the mobile agent would wander around places, while holding all activities defining a job to be executed in each place. The foregoing leads to the problems that the quantity of information is large when moving, the load on the network is too heavy, and an excessive memory area is occupied in each place.
In addition, because a model is applied only to a predetermined cooperation algorithm (plan), a flexible behavior can not be implemented, such as to re-assemble or add a job to be executed during movement after the mobile agent is released.
It is, therefore, an object of this invention to provide a mobile agent which allows a network load to be minimized during movement.
It is another object of this invention to provide a mobile agent which allows occupation of resources in each place to be minimized.
It is yet another object of this invention to provide a mobile agent which allows a job to be executed to be modified flexibly during movement.
It is still another object of this invention to shorten the required processing time from the time when a mobile agent is released until the result is returned.
In this invention, a concrete activity defining a job to be executed in each place is carried on a carrier agent for movement to each place. On the other hand, the substances of the mobile objects hold a proxy activity which sends an instruction to the concrete activity carried on the carrier agent to execute. The substances of the mobile objects circulate through places and send an instruction to execute to the concrete activity moving to each place.
In one mode of this invention, a method of executing mobile objects is provided for executing different jobs in different places distributed on a network, comprising the steps of; (a) generating a first carrier agent which holds a first concrete activity defining a job to be executed in a first place, (b) generating a second carrier agent which holds a second concrete activity defining a job to be executed in a second place, (c) generating substances of mobile objects which contain information specifying said first carrier agent and a second information specifying said second carrier agent, instruct said first carrier agent to execute said first concrete activity in said first place, and instruct said second carrier agent to execute said second concrete activity in said second place, (d) moving said first carrier agent to said first place, (e) moving said second carrier agent to said second place, (f) moving the substance of said mobile objects to said first place, (g) executing a job of said first concrete activity in said first place by having the substance of said mobile objects specify said first carrier agent and instruct said first concrete activity to execute the job, (h) moving the substance of said mobile objects to said second place, and (i) executing a job of said second concrete activity in said second place by having the substance of said mobile objects specify said second carrier agent and instruct said second concrete activity to execute the job.
In another mode of this invention, a method of executing mobile objects is provided for executing a job in at least one place distributed on a network, comprising the steps of; (a) generating a carrier agent which holds a concrete activity defining a job to be executed in said place, (b) generating substances of mobile objects which contain information specifying said carrier agent and instruct said carrier agent to execute said concrete activity in said place, (c) moving said carrier agent to said place, (d) moving the substance of said mobile objects to said place, and (e) executing a job of said concrete activity in said place by having the substance of said mobile objects specify said carrier agent and instruct said concrete activity to execute the job.
In another mode of this invention, a method of executing mobile objects is provided for executing a job in at least one place distributed on a network, comprising the steps of; (a) moving a carrier agent which holds a concrete activity defining a job to be executed in said place to said place, (b) moving the substance of mobile objects which contain information specifying said carrier agent and instruct said carrier agent to execute a job of said concrete activity in said place to said place, and (c) executing the job of said concrete activity in said place by having the substance of said mobile objects specify said carrier agent and instruct said concrete activity to execute the job.
In one mode of this invention, a recording medium is provided for storing at least a portion of mobile objects executing different jobs in different places distributed on a network, comprising; (a) a first carrier agent which holds a first concrete activity defining a job to be executed in a first place, (b) a second carrier agent which holds a second concrete activity defining a job to be executed in a second place, and (c) substances of mobile objects which contain information specifying said first carrier agent and a second information specifying said second carrier agent, instruct said first carrier agent to execute the job of said first concrete activity in said first place, and instruct said second carrier agent to execute the job of said second concrete activity in said second place.
In another mode of this invention, a recording medium storing mobile objects is provided for executing a job in places distributed on a network, comprising; (a) carrier agent which holds a concrete activity defining a job to be executed in said place, and (b) substances of mobile objects which contain information specifying said carrier agent and instruct said carrier agent to execute a job of said concrete activity in said place.
In one mode of this invention, a recording medium is provided for storing at least a portion of mobile objects executing different jobs in different places distributed on a network, comprising; (a) a first proxy activity which contain information specifying said first carrier agent which holds a first concrete activity defining a job to be executed in a first place, and instruct said first carrier agent to execute the job of said first concrete activity in said first place, (b) a second proxy activity which contains information specifying said second carrier agent which holds a second concrete activity defining a job to be executed in a second place, and instructs said second carrier agent to execute the job of said second concrete activity in said second place, and (c) an order list defining the order of execution of said first proxy activity and said second proxy.
In another mode of this invention, a recording medium is provided for storing mobile objects executing jobs in response to an instruction by substances of mobile objects including proxy activities arriving at a place distributed on a network, comprising; (a) a concrete activity defining a job to be executed in said place, (b) a concrete activity table provided to said proxy activity in order for said proxy activity to specify said concrete activity, and (c) a method for receiving an instruction message to execute the job from said proxy activity.
In another mode of this invention, a recording medium is provided for storing mobile objects executing jobs in response to an instruction by substances of mobile objects including proxy activities arriving at a place distributed on a network, comprising; (a) a concrete activity defining a job to be executed in said place, and (b) a method for receiving an instruction message to execute the job from said proxy activity.